//
//  Destructors.hpp
//  learnC++
//
//  Created by apple on 2018/6/3.
//  Copyright © 2018年 yunfan.com. All rights reserved.
//

#ifndef Destructors_hpp
#define Destructors_hpp

#include <stdio.h>
#include <iostream>
#include <cassert>
class TestDestructor {
private:
    //        对于简单类（只是初始化普通成员变量的值），不需要析构函数，因为C ++会自动为您清理内存。
    int *m_array;
    int m_length = 0;
    
public:
    TestDestructor(int length):m_length(length){
        
        assert(length > 0);
        m_array = new int[length];
    }
    
    ~TestDestructor(){//析构函数
        printf("析构了%d\n",m_length);
        delete[] m_array;
    }
    void setValue(int index, int value) { m_array[index] = value; }
    int getValue(int index) { return m_array[index]; }
    
    int getLength() { return m_length; }
};


#endif /* Destructors_hpp */
